package com.coderly.onlinegallerysharingplatform.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.coderly.onlinegallerysharingplatform.common.response.Response;
import com.coderly.onlinegallerysharingplatform.model.dto.req.follow.*;
import com.coderly.onlinegallerysharingplatform.model.dto.resp.follow.FindFansListRespDTO;
import com.coderly.onlinegallerysharingplatform.model.dto.resp.follow.FindFollowingListRespDTO;

/**
 * 关注用户
 */
public interface RelationService {

    /**
     * 关注用户
     * @param followUserReqDTO
     * @return
     */
    Response<?> follow(FollowUserReqDTO followUserReqDTO);



    Response<Page<FindFollowingListRespDTO>> findFollowingList(FindFollowingListReqDTO findFollowingListReqDTO);

    /**
     * 获取粉丝列表集合
     * @param findFansListReqDTO
     * @return
     */
    Response<Page<FindFansListRespDTO>> findFansList(FindFansListReqDTO findFansListReqDTO);

    /**
     * 取消关注
     * @param unFollowUserReqDTO
     * @return
     */
    Response<?> unFollow(UnFollowUserReqDTO unFollowUserReqDTO);

    /**
     * 检查登录用户是否已经关注该用户
     * @param checkLoginUserIsFansReqDTO 关注用户
     * @return
     */
    Response<?> checkLoginUserIsFans(CheckLoginUserIsFansReqDTO checkLoginUserIsFansReqDTO);
}
